package com.fy.proj5_permission_transaction_cache.service;

/**
 * 页面访问统计服务接口
 */
public interface PageVisitService {
    
    /**
     * 记录页面访问，自动增加访问次数
     * @param pageName 页面名称，用于标识不同的页面
     * @return 增加后的总访问次数
     */
    long recordVisit(String pageName);
    
    /**
     * 获取页面的访问次数
     * @param pageName 页面名称
     * @return 访问次数，如果页面从未被访问过返回0
     */
    long getVisitCount(String pageName);
    
    /**
     * 重置指定页面的访问次数
     * @param pageName 页面名称
     * @return 是否重置成功
     */
    boolean resetVisitCount(String pageName);
    
    /**
     * 记录IP访问次数
     * @param pageName 页面名称
     * @param ip IP地址
     * @return IP访问该页面的次数
     */
    long recordIpVisit(String pageName, String ip);
    
    /**
     * 获取IP访问页面的次数
     * @param pageName 页面名称
     * @param ip IP地址
     * @return 访问次数
     */
    long getIpVisitCount(String pageName, String ip);
}